package cn.memorynine.common.service;//package com.yneusoft.common.service;
//
//import cn.hutool.cache.CacheUtil;
//import cn.hutool.cache.impl.TimedCache;
//import cn.hutool.core.util.RandomUtil;
//import com.alibaba.fastjson.JSON;
//import com.alibaba.fastjson.JSONObject;
//import com.aliyuncs.CommonRequest;
//import com.aliyuncs.CommonResponse;
//import com.aliyuncs.DefaultAcsClient;
//import com.aliyuncs.IAcsClient;
//import com.aliyuncs.exceptions.ClientException;
//import com.aliyuncs.http.MethodType;
//import com.aliyuncs.profile.DefaultProfile;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.stereotype.Service;
//
///**
// * 公共信息服务类
// * @author 王加雷
// */
//@Slf4j
//@Service
//public class PublicMessageService {
//    /**
//     * 短信缓存器
//     */
//    public static TimedCache<String, String> messageCache = CacheUtil.newTimedCache(120000);
//
//    /**
//     * 签名
//     */
//    private static final String SIGN_NAME = "易用软件";
//
//    /**
//     * 秘钥ID
//     */
//    private static final String ACCESS_KEY_ID = "LTAIP14PbYQWGwv7";
//
//    /**
//     * 安全秘钥
//     */
//    private static final String ACCESS_SECRET = "NMtuWNbDcfpspFQXuwyQY8ltB9vi4j";
//
//    /**
//     * 短信编码
//     */
//    private static final String TEMPLATE_CODE = "SMS_152481248";
//
//    /**
//     * 发送短信验证码
//     * @return 发送结果
//     */
//    public boolean sendValidMessage(String phone) {
//        //启动定时器，没1秒清理一次
//        messageCache.schedulePrune(1000);
//        //生成4位验证码
//        String code = RandomUtil.randomNumbers(4);
//        //将验证码和手机号存入缓存：以手机号作为键值
//        messageCache.put(phone, code);
//        //发送验证码
//        DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", ACCESS_KEY_ID, ACCESS_SECRET);
//        IAcsClient client = new DefaultAcsClient(profile);
//        CommonRequest request = new CommonRequest();
//        request.setSysMethod(MethodType.POST);
//        request.setSysDomain("dysmsapi.aliyuncs.com");
//        request.setSysVersion("2017-05-25");
//        request.setSysAction("SendSms");
//        request.putQueryParameter("RegionId", "cn-hangzhou");
//        request.putQueryParameter("PhoneNumbers", phone);
//        request.putQueryParameter("SignName", SIGN_NAME);
//        request.putQueryParameter("TemplateCode", TEMPLATE_CODE);
//        JSONObject templateParam = new JSONObject();
//        templateParam.put("code", code);
//        request.putQueryParameter("TemplateParam", JSON.toJSONString(templateParam));
//
//        try {
//            CommonResponse response = client.getCommonResponse(request);
//            JSONObject result = JSON.parseObject(response.getData());
//            //发送成功
//            if("OK".equals(result.getString("Code"))) {
//                return true;
//            }else {
//                return false;
//            }
//        } catch (ClientException e) {
//            e.printStackTrace();
//            return false;
//        }
//    }
//
//    /**
//     * 短信验证码校验
//     * @return 校验结果
//     */
//    public boolean messageCodeCheck(String phone, String code) {
//        String validCode = messageCache.get(phone);
//        if(validCode == null) {
//            return false;
//        }else {
//            if(messageCache.get(phone).equals(code)) {
//                return true;
//            }else {
//                return false;
//            }
//        }
//    }
//}
